🧠Метапрограммирование с Boost: магия времени компиляции
Метапрограммирование в C++ — это написание кода, который будет выполняться на этапе компиляции.
В Boost есть несколько библиотек упрощающих эту задачу:
🧩Boost.MPL Библиотека для манипуляций с типами во время компиляции.
// Вычисление факториала при компиляции using result = mpl::int_<factorial<5>::value>; // = 120
🧩Boost.Type_traits Определение и модификация свойств типов.
// Проверка, является ли тип целочисленным static_assert(boost::is_integral<int>::value, "Must be integral");
🧩Boost.Hana Современное метапрограммирование для C++14/17.
// Преобразование кортежа типов в массив строк constexpr auto types = hana::tuple_t<int, char, double>; constexpr auto names = hana::transform(types, hana::typeid_);
Метапрограммирование помогает писать более обобщенный код, выполнять проверки на этапе компиляции и оптимизировать производительность!
🧠Метапрограммирование с Boost: магия времени компиляции
Метапрограммирование в C++ — это написание кода, который будет выполняться на этапе компиляции.
В Boost есть несколько библиотек упрощающих эту задачу:
🧩Boost.MPL Библиотека для манипуляций с типами во время компиляции.
// Вычисление факториала при компиляции using result = mpl::int_<factorial<5>::value>; // = 120
🧩Boost.Type_traits Определение и модификация свойств типов.
// Проверка, является ли тип целочисленным static_assert(boost::is_integral<int>::value, "Must be integral");
🧩Boost.Hana Современное метапрограммирование для C++14/17.
// Преобразование кортежа типов в массив строк constexpr auto types = hana::tuple_t<int, char, double>; constexpr auto names = hana::transform(types, hana::typeid_);
Метапрограммирование помогает писать более обобщенный код, выполнять проверки на этапе компиляции и оптимизировать производительность!
Mr. Durov launched Telegram in late 2013 with his brother, Nikolai, just months before he was pushed out of VK, the Russian social-media platform he founded. Mr. Durov pitched his new app—funded with the proceeds from the VK sale—less as a business than as a way for people to send messages while avoiding government surveillance and censorship.
Telegram today rolling out an update which brings with it several new features.The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations.
Библиотека C C разработчика | cpp boost qt from no